package model

import (
	"time"
)

type Video struct {
	Id          uint      `gorm:"column:id;type:bigint(20) UNSIGNED;primaryKey;not null;" json:"id"`
	VName       string    `gorm:"column:v_name;type:varchar(20);comment:视频名称;not null;" json:"v_name"`                                       // 视频名称
	Author      uint      `gorm:"column:author;type:bigint(20);comment:作者;not null;" json:"author"`                                          // 作者
	AuthorNum   uint      `gorm:"column:author_num;type:bigint(30);comment:作者工号;not null;" json:"author_num"`                                // 作者工号
	MajorOne    string    `gorm:"column:major_one;type:varchar(15);comment:专业范围一级;not null;" json:"major_one"`                               // 专业范围一级
	BarrageNum  uint      `gorm:"column:barrage_num;type:bigint(20);comment:弹幕数量;default:NULL;" json:"barrage_num"`                          // 弹幕数量
	MajorTwo    string    `gorm:"column:major_two;type:varchar(15);comment:专业范围二级;not null;" json:"major_two"`                               // 专业范围二级
	CName       string    `gorm:"column:c_name;type:varchar(25);comment:创建人;not null;" json:"c_name"`                                        // 创建人
	CNum        uint      `gorm:"column:c_num;type:bigint(30);comment:创建工号;not null;" json:"c_num"`                                          // 创建工号
	CTime       string    `gorm:"column:c_time;type:varchar(50);comment:创建时间;not null;" json:"c_time"`                                       // 创建时间
	ExamineName string    `gorm:"column:examine_name;type:varchar(100);comment:审核人姓名;default:NULL;" json:"examine_name"`                     // 审核人姓名
	ExamineNum  uint      `gorm:"column:examine_num;type:bigint(20);comment:审核人工号;default:NULL;" json:"examine_num"`                         // 审核人工号
	ExamineType uint      `gorm:"column:examine_type;type:tinyint(1) UNSIGNED;comment:1 审核已通过 2 审核中 3 审核未通过;default:2;" json:"examine_type"` // 1 审核已通过 2 审核中 3 审核未通过
	Cover       string    `gorm:"column:cover;type:varchar(255);comment:封面图片;default:NULL;" json:"cover"`                                    // 封面图片
	QrCode      string    `gorm:"column:qr_code;type:varchar(255);comment:二维码;default:NULL;" json:"qr_code"`                                 // 二维码
	Skey        string    `gorm:"column:skey;type:varchar(40);comment:关键字;default:NULL;" json:"skey"`                                        // 关键字
	Describe    string    `gorm:"column:describe;type:varchar(200);comment:视频描述;default:NULL;" json:"describe"`                              // 视频描述
	LookRange   uint      `gorm:"column:look_range;type:tinyint(1);comment:1 内部 2 外部;default:1;" json:"look_range"`                          // 1 内部 2 外部
	EnableType  uint      `gorm:"column:enable_type;type:tinyint(1) UNSIGNED;comment:1 启用 2 不启用;default:1;" json:"enable_type"`              // 1 启用 2 不启用
	CreatedAt   time.Time `gorm:"column:created_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"created_at"`
	UpdateAt    time.Time `gorm:"column:update_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"update_at"`
	DeleteAt    time.Time `gorm:"column:delete_at;type:datetime(3);default:NULL;" json:"delete_at"`
}

func (v *Video) TableName() string {
	return "video"
}
